///////////////////////////////////////////////////////////
//  ConditionAtm.h
//  Implementation of the Class ConditionAtm
//  Created on:      21-sep-2007 15:40:09
///////////////////////////////////////////////////////////

#if !defined(EA_2B265F09_58E8_452f_BC66_0F885FE4DB91__INCLUDED_)
#define EA_2B265F09_58E8_452f_BC66_0F885FE4DB91__INCLUDED_

#include <string>
#include "ViewableXML.h"
#include "ObjectDomain.h"
#include "../../indexado/fuentes/RecordHandler.h"
#include "../../indexado/fuentes/OrganizationCommons.h"

#define SIZE_CONDITIONATM_SCHEMA 17

class ConditionAtm : public ViewableXML, public ObjectDomain
{

public:
	ConditionAtm();
	virtual ~ConditionAtm();
	std::string getValor(std::string atribName);
	void loadAtribFromNode(XMLNode* node);
	void loadRegistro(void* registro);
	campo* getSchema();
	campo* getPrimaryKey();
	bool EsMayor(std::string atributte, Persistent *object);
	std::string getKey();
	void setKey(std::string key);

	int getSchemaSize();
	void saveInRegistro(void* reg);
	void setDrct(std::string drct);
	void setDwpt(std::string dwpt);
	void setHght(std::string hght);
	void setMixr(std::string mixr);
	void setPres(std::string pres);
	void setRelh(std::string relh);
	void setSampleCode(std::string code);
	void setSknt(std::string sknt);
	void setTemp(std::string temp);
	void setThta(std::string thta);
	void setThte(std::string thte);
	void setThtv(std::string thtv);
	void setDate(std::string date);
	void setStationCode(std::string stationCode);
	void setPKConditionAtm(std::string pk);
	
	std::string getDrct();
	std::string getDwpt();
	std::string getHght();
	std::string getSampleCode();
	std::string getMixr();
	std::string getPres();
	std::string getRelh();
	std::string getSknt();
	std::string getTemp();
	std::string getThta();
	std::string getThte();
	std::string getThtv();
	std::string getDate();	
	std::string getStationCode();
	std::string getPKConditionAtm();
	const ConditionAtm & operator=(const ConditionAtm&);
	XMLNode* toViewXML();
	
	void print();

	static campo PK[2];
	static campo CODE[2];
	static campo CODE_SAMPLE[2];
	static campo DATE[2];
	static campo DRCT[2];
	static campo DWPT[2];
	static campo HGHT[2];
	static campo MIXR[2];
	static campo PRES[2];
	static campo RELH[2];
	static campo SKNT[2];
	static campo TEMP[2];
	static campo THTA[2];
	static campo THTE[2];
	static campo THTV[2];
	
	static campo CONDITIONATM_SCHEMA[SIZE_CONDITIONATM_SCHEMA];
	
private:
	
	std::string PKConditionAtm;
	std::string stationCode;
	std::string sampleCode;
	std::string date;
	std::string drct;
	std::string dwpt;
	std::string hght;
	std::string mixr;
	std::string pres;
	std::string relh;
	std::string sknt;
	std::string temp;
	std::string thta;
	std::string thte;
	std::string thtv;

};
#endif // !defined(EA_2B265F09_58E8_452f_BC66_0F885FE4DB91__INCLUDED_)
